package biz

import (
	v1 "MdfServer/api/room/v1"
	"context"
)

// RoomRepo 房间数据访问接口（由data层实现）
type RoomRepo interface {
	Save(ctx context.Context, room *v1.Room) error                          // 保存房间
	Get(ctx context.Context, roomID string) (*v1.Room, error)               // 获取房间
	Delete(ctx context.Context, roomID string) error                        // 删除房间
	ListExpired(ctx context.Context, expiredTime int64) ([]*v1.Room, error) // 列出超时房间
}

// RoomUsecase 房间业务用例（如需复杂业务可在此扩展）
type RoomUsecase struct {
	repo RoomRepo
}

// NewRoomUsecase 创建业务用例
func NewRoomUsecase(repo RoomRepo) *RoomUsecase {
	return &RoomUsecase{repo: repo}
}

// 这里可以定义复杂业务逻辑方法（如房间状态校验、玩家权限检查等）
